import tkinter as tk

top = tk.Tk()

red = 100
green = 200
blue = 50

# bg='#000000' tk中用rgb来表示颜色的格式
# #000000可以看做00 00 00，三段分表表示R G B的数值的16进制值
# 十进制表示颜色的范围区间为0-255，如果转化为16进制则为: 0-ff(16进制中的10-15分别用字母：a,b,c,d,e,f表示)
# 所以，如果要表示白色的话可以写成#ffffff，红色为#ff0000，蓝色为#0000ff，黑色为#000000
# 用hex函数可以将10进制数字转化为16进制数字，转化出来的16进制数字会以0x开头以示区分
# 例如十进制数字100，它对应的十六进制数为hex(100)=0x64，最终组合颜色的时候我们要利用切片技术把0x前缀切掉
# 特殊情况:十进制数字10转化成十六进制数为hex(10)=0xa，因为最终组合颜色的时候，除了去掉0x前缀之外，还必须占满两位
# 也就是a要写成0a，在py里可以调用zfill(2)来方便的实现转化，具体用法自行查阅相关资料

r = str(hex(red))[2:].zfill(2)
g = str(hex(green))[2:].zfill(2)
b = str(hex(blue))[2:].zfill(2)
clr = '#' + r + g + b
ColorPanel = tk.Label(top, width=20, height=5, bg=clr)
ColorPanel.pack()

top.mainloop()
